#define _CRT_SECURE_NO_WARNINGS
#include <stdint.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
//int hammingWeight(uint32_t n)
//{
//    int sum = 0;
//    for (int i = 0; i < 32; i++)
//    {
//        if ((n >> i) & 1 == 1)
//        {
//            sum++;
//        }
//    }
//    return sum;
//}
//char* addBinary(char* a, char* b)
//{
//    char s[200];
//    uint32_t x;
//    uint32_t y;
//    sscanf(a, "%u", &x);
//    sscanf(b, "%u", &y);
//    uint32_t z = x + y;
//    sprintf(z, "s", s);
//    return s;
//}
int getNum(char* s)
{
    int ls = strlen(s);
    int sum = 0;
    int j = 0;
    for (int i = ls - 1; i >= 0; i--)
    {
        sum += (int)pow(2, j) * (s[i]-'0');
        j++;
    }
    return sum;
}

char* addBinary(char* a, char* b)
{
    char s[32];
    int x = getNum(a);
    int y = getNum(b);
    int z = x + y;
    _itoa(z, s, 2);
    return s;

}
int main()
{
    //uint32_t x = 0;
    //uint32_t y = 0;
    //uint32_t z = 0;
    //char* a = "11";
    //char* b = "1";
    //sscanf(a, "%u", &x);
    //sscanf(b, "%u", &y);
    //z = x + y;
    char* a = "11";
    char* b = "111";
    char* c=addBinary(a, b);
    printf("%s", c);
    return 0;
}
